#!/bin/sh
set -e

TESTDIR="$(readlink -f "$(dirname "$0")")"
. "$TESTDIR/framework"
setupenvironment
configarchitecture "i386"
setupaptarchive

UPGRADEFAIL="Reading package lists...
Building dependency tree...
Calculating upgrade...
The following packages will be REMOVED:
  conkeror libdatrie0 libkrb53 libxcb-xlib0 xulrunner-1.9
The following NEW packages will be installed:
  gcc-4.4-base libavahi-client3 libavahi-common-data libavahi-common3 libc-bin
  libdatrie1 libdb4.7 libdb4.8 libdbus-1-3 libgssapi-krb5-2 libjasper1
  libk5crypto3 libkrb5-3 libkrb5support0 liblzma2 libpam-modules libpam0g
  libuuid1 libxcb-atom1 libxcb-aux0 libxcb-event1 libxml2 passwd
  sensible-utils shared-mime-info xz-utils
The following packages will be upgraded:
  coreutils debconf debconf-i18n debianutils defoma dpkg file fontconfig
  fontconfig-config libacl1 libatk1.0-0 libattr1 libbz2-1.0 libc6 libcairo2
  libcomerr2 libcups2 libexpat1 libfontconfig1 libfreetype6 libgcc1
  libgcrypt11 libgdbm3 libglib2.0-0 libgnutls26 libgpg-error0 libgtk2.0-0
  libgtk2.0-common libhunspell-1.2-0 libice6 libjpeg62 libkeyutils1
  liblocale-gettext-perl libmagic1 libncurses5 libnewt0.52 libnspr4-0d
  libnss3-1d libpango1.0-0 libpango1.0-common libpcre3 libpixman-1-0
  libpng12-0 libpopt0 libselinux1 libslang2 libsm6 libsqlite3-0
  libstartup-notification0 libstdc++6 libtasn1-3 libtext-charwidth-perl
  libtext-iconv-perl libtext-wrapi18n-perl libthai-data libthai0 libtiff4
  libx11-6 libx11-data libxau6 libxcb-render-util0 libxcb-render0 libxcb1
  libxcomposite1 libxcursor1 libxdamage1 libxdmcp6 libxext6 libxfixes3 libxft2
  libxi6 libxinerama1 libxrandr2 libxrender1 libxt6 lsb-base ncurses-bin perl
  perl-base perl-modules readline-common sed ttf-dejavu-core ucf whiptail
  x11-common zlib1g
87 upgraded, 26 newly installed, 5 to remove and 0 not upgraded.
Need to get 0 B/54.4 MB of archives.
After this operation, 12.4 MB of additional disk space will be used.
E: Trivial Only specified but this is not a trivial operation."

UPGRADESUCCESS="Reading package lists...
Building dependency tree...
Calculating upgrade...
The following packages will be REMOVED:
  libdatrie0 libkrb53 libxcb-xlib0 xulrunner-1.9
The following NEW packages will be installed:
  gcc-4.4-base libasound2 libavahi-client3 libavahi-common-data
  libavahi-common3 libc-bin libdatrie1 libdb4.7 libdb4.8 libdbus-1-3
  libgssapi-krb5-2 libjasper1 libk5crypto3 libkrb5-3 libkrb5support0 liblzma2
  libmozjs2d libpam-modules libpam0g libreadline6 libuuid1 libxcb-atom1
  libxcb-aux0 libxcb-event1 libxml2 passwd sensible-utils shared-mime-info
  xulrunner-1.9.1 xz-utils
The following packages will be upgraded:
  conkeror coreutils debconf debconf-i18n debianutils defoma dpkg file
  fontconfig fontconfig-config libacl1 libatk1.0-0 libattr1 libbz2-1.0 libc6
  libcairo2 libcomerr2 libcups2 libexpat1 libfontconfig1 libfreetype6 libgcc1
  libgcrypt11 libgdbm3 libglib2.0-0 libgnutls26 libgpg-error0 libgtk2.0-0
  libgtk2.0-common libhunspell-1.2-0 libice6 libjpeg62 libkeyutils1
  liblocale-gettext-perl libmagic1 libncurses5 libnewt0.52 libnspr4-0d
  libnss3-1d libpango1.0-0 libpango1.0-common libpcre3 libpixman-1-0
  libpng12-0 libpopt0 libselinux1 libslang2 libsm6 libsqlite3-0
  libstartup-notification0 libstdc++6 libtasn1-3 libtext-charwidth-perl
  libtext-iconv-perl libtext-wrapi18n-perl libthai-data libthai0 libtiff4
  libx11-6 libx11-data libxau6 libxcb-render-util0 libxcb-render0 libxcb1
  libxcomposite1 libxcursor1 libxdamage1 libxdmcp6 libxext6 libxfixes3 libxft2
  libxi6 libxinerama1 libxrandr2 libxrender1 libxt6 lsb-base ncurses-bin perl
  perl-base perl-modules readline-common sed ttf-dejavu-core ucf whiptail
  x11-common zlib1g
88 upgraded, 30 newly installed, 4 to remove and 0 not upgraded.
Need to get 0 B/62.9 MB of archives.
After this operation, 36.0 MB of additional disk space will be used.
E: Trivial Only specified but this is not a trivial operation."

# Test that the old behavior can be restored with the option
testfailureequal "$UPGRADEFAIL" aptget dist-upgrade --trivial-only -o pkgProblemResolver::FixByInstall=0
testfailureequal "$UPGRADESUCCESS" aptget dist-upgrade --trivial-only #-o pkgProblemResolver::FixByInstall=0
